package com.maxchaintech.integral.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.maxchaintech.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.maxchaintech.common.core.annotation.Excel;

/**
 * 积分记录明细对象 gy_integral_detail
 * 
 * @author jyw
 * @date 2021-04-23
 */
public class IntegralDetail  extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 积分记录明细id */
    private Long id;

    /** 来源系统积分id */
    @Excel(name = "来源系统积分id")
    private String sourceId;

    /** 资产id */
    @Excel(name = "资产id")
    private String assetId;

    /** 用户id */
    @Excel(name = "用户id")
    private String userId;

    /** 零售户id */
    @Excel(name = "零售户id")
    private String custId;

    /** 积分数量 */
    @Excel(name = "积分数量")
    private String integralAmt;

    /** 积分类型 值集：零售户积分、消费者积分 */
    @Excel(name = "积分类型 值集：零售户积分、消费者积分")
    private String integralType;

    /** 积分使用类型：产生、兑换、消亡 */
    @Excel(name = "积分使用类型：产生、兑换、消亡")
    private String useType;

    /** 店铺id */
    @Excel(name = "店铺id")
    private String shopId;

    /** 店铺名 */
    @Excel(name = "店铺名")
    private String shopName;

    /** 店铺地址-省 */
    @Excel(name = "店铺地址-省")
    private String shopAddressProvince;

    /** 店铺地址-市、洲 */
    @Excel(name = "店铺地址-市、洲")
    private String shopAddressCity;

    /** 店铺地址-区 */
    @Excel(name = "店铺地址-区")
    private String shopAddressZone;

    /** 店铺地址详情 */
    @Excel(name = "店铺地址详情")
    private String shopAddress;

    /** 订单id */
    @Excel(name = "订单id")
    private String orderId;

    /** 订单金额 */
    @Excel(name = "订单金额")
    private String orderAmt;

    /** 规则id */
    @Excel(name = "规则id")
    private String ruleId;

    /** 规则名 */
    @Excel(name = "规则名")
    private String ruleName;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;

    /** 最后修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastUpdateDate;

    /** 最后修改人 */
    @Excel(name = "最后修改人")
    private String lastUpdateBy;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setSourceId(String sourceId) 
    {
        this.sourceId = sourceId;
    }

    public String getSourceId() 
    {
        return sourceId;
    }
    public void setAssetId(String assetId) 
    {
        this.assetId = assetId;
    }

    public String getAssetId() 
    {
        return assetId;
    }
    public void setUserId(String userId) 
    {
        this.userId = userId;
    }

    public String getUserId() 
    {
        return userId;
    }
    public void setCustId(String custId) 
    {
        this.custId = custId;
    }

    public String getCustId() 
    {
        return custId;
    }
    public void setIntegralAmt(String integralAmt) 
    {
        this.integralAmt = integralAmt;
    }

    public String getIntegralAmt() 
    {
        return integralAmt;
    }
    public void setIntegralType(String integralType) 
    {
        this.integralType = integralType;
    }

    public String getIntegralType() 
    {
        return integralType;
    }
    public void setShopId(String shopId) 
    {
        this.shopId = shopId;
    }

    public String getShopId() 
    {
        return shopId;
    }
    public void setShopName(String shopName) 
    {
        this.shopName = shopName;
    }

    public String getShopName() 
    {
        return shopName;
    }
    public void setShopAddressCity(String shopAddressCity) 
    {
        this.shopAddressCity = shopAddressCity;
    }

    public String getShopAddressCity() 
    {
        return shopAddressCity;
    }
    public void setShopAddressZone(String shopAddressZone) 
    {
        this.shopAddressZone = shopAddressZone;
    }

    public String getShopAddressProvince() {
        return shopAddressProvince;
    }

    public void setShopAddressProvince(String shopAddressProvince) {
        this.shopAddressProvince = shopAddressProvince;
    }

    public String getShopAddressZone()
    {
        return shopAddressZone;
    }
    public void setShopAddress(String shopAddress) 
    {
        this.shopAddress = shopAddress;
    }

    public String getShopAddress() 
    {
        return shopAddress;
    }
    public void setOrderId(String orderId) 
    {
        this.orderId = orderId;
    }

    public String getOrderId() 
    {
        return orderId;
    }
    public void setOrderAmt(String orderAmt) 
    {
        this.orderAmt = orderAmt;
    }

    public String getOrderAmt() 
    {
        return orderAmt;
    }
    public void setRuleId(String ruleId) 
    {
        this.ruleId = ruleId;
    }

    public String getRuleId() 
    {
        return ruleId;
    }
    public void setRuleName(String ruleName) 
    {
        this.ruleName = ruleName;
    }

    public String getRuleName() 
    {
        return ruleName;
    }
    public void setCreateDate(Date createDate) 
    {
        this.createDate = createDate;
    }

    public Date getCreateDate() 
    {
        return createDate;
    }
    public void setLastUpdateDate(Date lastUpdateDate) 
    {
        this.lastUpdateDate = lastUpdateDate;
    }

    public Date getLastUpdateDate() 
    {
        return lastUpdateDate;
    }
    public void setLastUpdateBy(String lastUpdateBy) 
    {
        this.lastUpdateBy = lastUpdateBy;
    }

    public String getLastUpdateBy() 
    {
        return lastUpdateBy;
    }

    public String getUseType() {
        return useType;
    }

    public void setUseType(String useType) {
        this.useType = useType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("sourceId", getSourceId())
            .append("assetId", getAssetId())
            .append("userId", getUserId())
            .append("custId", getCustId())
            .append("integralAmt", getIntegralAmt())
            .append("integralType", getIntegralType())
            .append("useType", getUseType())
            .append("shopId", getShopId())
            .append("shopName", getShopName())
            .append("shopAddressProvince", getShopAddressProvince())
            .append("shopAddressCity", getShopAddressCity())
            .append("shopAddressZone", getShopAddressZone())
            .append("shopAddress", getShopAddress())
            .append("orderId", getOrderId())
            .append("orderAmt", getOrderAmt())
            .append("ruleId", getRuleId())
            .append("ruleName", getRuleName())
            .append("createDate", getCreateDate())
            .append("lastUpdateDate", getLastUpdateDate())
            .append("lastUpdateBy", getLastUpdateBy())
            .toString();
    }
}
